package com.smfx.yxt.daoSqlserver;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.smfx.yxt.model.WorkApproval;
import com.smfx.yxt.page.Page;
import com.smfx.yxt.reqVo.WorkApprovalCountQueryVO;
import com.smfx.yxt.view.CopyPaperApprovalView;
import com.smfx.yxt.view.OvertimeApplyView;
import com.smfx.yxt.view.PrintingPaperApprovalView;
import com.smfx.yxt.view.SchoolBusApprovalView;
import com.smfx.yxt.view.WorkApprovalView;
import com.smfx.yxt.view.teachingGoodsApprovalView;

public interface WorkApprovalMapper {

    int insertSelective(WorkApproval record);
    
    WorkApproval selectByPrimaryKey(Integer id);
    
    WorkApproval selectForApproval(@Param("applyId") Integer applyId, 
    		@Param("approvalerId") Integer approvalerId);

    int updateByPrimaryKeySelective(WorkApproval record);

    List<WorkApprovalView> selectViewListByPage(Page<WorkApprovalView> page);
    
    WorkApprovalView selectViewDetail(Integer applyId);
    
    int selectCountForApprover(Integer teacherId);
 
	int countAllRecord(WorkApprovalCountQueryVO vo);

	
	List<CopyPaperApprovalView> selectWorkApprovalOfCopyPaperByPage(Page<CopyPaperApprovalView> page);

	List<PrintingPaperApprovalView> selectWorkApprovalOfPrintingPaperByPage(Page<PrintingPaperApprovalView> page);

	List<teachingGoodsApprovalView> selectWorkApprovalOfTeachingGoodsByPage(Page<teachingGoodsApprovalView> page);

	List<SchoolBusApprovalView> selectWorkApprovalOfSchoolbusByPage(Page<SchoolBusApprovalView> page);

	List<OvertimeApplyView> selectWorkApprovalOfOvertimeApplyByPage(Page<OvertimeApplyView> page);
}